//package com.yanglanting.disk.mybatis.media;
//
//import com.yanglanting.disk.mybatis.entity.PtFileEntity;
//import com.yanglanting.disk..mybatis.media.MediaService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.core.io.Resource;
//import org.springframework.http.HttpHeaders;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.*;
//
//@RestController
//@RequestMapping("/media")
//public class MediaPreviewController {
//
//    @Autowired
//    private MediaService mediaService;
//
//    @GetMapping("/preview")
//    public ResponseEntity<Resource> previewMedia(
//            @RequestParam("fileUuid") String fileUuid,
//            @RequestHeader(value = "Range", required = false) String rangeHeader) {
//
//        PtFileEntity fileEntity = mediaService.getFileInfo(fileUuid);
//        Resource resource = mediaService.loadAsResource(fileEntity);
//
//        long fileSize = fileEntity.getFileCapacity();
//        HttpHeaders headers = new HttpHeaders();
//
//        if (rangeHeader != null) {
//            // 支持断点续传
//            return mediaService.handlePartialContent(resource, rangeHeader, fileSize);
//        } else {
//            headers.add("Content-Type", mediaService.getContentType(fileEntity));
//            headers.add("Content-Length", String.valueOf(fileSize));
//            return ResponseEntity.ok().headers(headers).body(resource);
//        }
//    }
//}